package cn.wp.ewallet.upms.service;

import cn.wp.common.core.model.WpPage;
import cn.wp.common.core.model.WpState;
import cn.wp.ewallet.upms.model.dto.DemoDto;

import java.util.List;

/**
 * 样例
 * Created by chenyb on 2019/09/29
 */
public interface DemoService {

    /**
     * 添加
     * @param demoDto
     * @return
     */
    public WpState saveDemo(DemoDto demoDto);

    /**
     * 修改
     * @param demoDto
     * @return
     */
    public WpState modifyDemo(DemoDto demoDto);

    /**
     * 根据ID删除
     * @param id
     * @return
     */
    public WpState removeDemoById(String id);

    /**
     * 实体删除
     * @param demoDto
     * @return
     */
    public WpState removeDemo(DemoDto demoDto);

    /**
     * 列表查询
     * @param demoDto
     * @return
     */
    public List<DemoDto> getDemoList(DemoDto demoDto);


    /**
     * 分页查询
     * @param demoDto
     * @return
     */
    public WpPage<DemoDto> getDemoList(DemoDto demoDto, WpPage wpPage);

    /**
     * 数据总量查询
     * @param demoDto
     * @return
     */
    public int countDemo(DemoDto demoDto);

    /**
     * 根据主键查询数据
     * @param id
     * @return
     */
    public DemoDto getDemoById(String id);

    /**
     * 其他业务模拟
     * @param demoDto
     * @return
     */
    public int modifyType(DemoDto demoDto);

    /**
     * 从缓存查询
     * @param demoDto
     * @return
     */
    public DemoDto getDemoByCache(DemoDto demoDto);

}
